import request from '@/utils/request'
const GEN_API_BASE_URL = '/code/table';

// 实体表搜索字段改变
export function searchChanged(query) {
  return request({
    url: `${GEN_API_BASE_URL}/searchChanged`,
    method: 'get',
    params: query
  })
}

// 数据库导入参数改变
export function importParamsChanged(query) {
  return request({
    url: `${GEN_API_BASE_URL}/importParamsChanged`,
    method: 'get',
    params: query
  })
}

// 查询应用列表
export function list(query) {
  return request({
    url: `${GEN_API_BASE_URL}/list`,
    method: 'get',
    params: query
  })
}

// 查询表详细信息
export function getGenTable(tableId) {
  return request({
    url: `${GEN_API_BASE_URL}/` + tableId,
    method: 'get',
    timeout: 5 * 60 * 60 * 1000
  })
}

// 为了编辑而查询实体表详细信息
export function getForModify(tableId) {
  return request({
    url: `${GEN_API_BASE_URL}/getForModify/` + tableId,
    method: 'get',
    timeout: 5 * 60 * 60 * 1000
  })
}

// 删除应用
export function delTable(id) {
  return request({
    url: `${GEN_API_BASE_URL}/` + id,
    method: 'delete'
  })
}

// 优化应用
export function optimizeTable(ids) {
  return request({
    url: `${GEN_API_BASE_URL}/optimize/` + ids,
    method: 'get'
  })
}

// 导入表
export function importTable(data) {
  return request({
    url: `${GEN_API_BASE_URL}/importTable`,
    method: 'post',
    params: data
  })
}

// 同步数据库
export function syncDb(tableName) {
  return request({
    url: `${GEN_API_BASE_URL}/syncDb/` + tableName,
    method: 'get'
  })
}

// 预览生成代码
export function previewTable(tableId) {
  return request({
    url: `${GEN_API_BASE_URL}/preview/` + tableId,
    method: 'get',
    timeout: 6 * 60 * 1000
  })
}

// 生成代码（自定义路径）
export function genCode(tableName) {
  return request({
    url: `${GEN_API_BASE_URL}/genCode/` + tableName,
    method: 'get'
  })
}
